Coordinated channel switch timing and transmissions in neighborhood awareness networks

ABSTRACT

This disclosure describes methods, devices, and systems related to coordinating channel switch times and specifying device operation (for example, transmitting device operation) to ensure data reception by one or more devices (for example, receiving devices). A device may receive a data path setup request frame from a second device. The device may cause to send a data path setup response frame. The device may cause to establish a communication with the second device on a first channel. The device may cause to establish a communication with the second device on a second channel at a first time. The device may cause to wait, by the device, at least for a duration specified by a channel switch time (CST) parameter. The device may cause to send device data to the second device over the first channel or the second channel based at least in part on the CST parameter.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional applicationSer. No. 16/450,436, filed Jul. 30, 2019, which is a continuation ofU.S. Non-Provisional application Ser. No. 15/392,771, filed Dec. 28,2016, which claims the benefit of U.S. Provisional Application Ser. No.62/327,010, filed on Apr. 25, 2016, the disclosures of which areincorporated herein by reference as if set forth in full.

TECHNICAL FIELD

This disclosure generally relates to systems and methods for wirelesscommunications and, more particularly, systems and methods tocoordinated channel transmissions for wireless communication, e.g. inWireless Local Area Networks (WLANs), and/or Wi-Fi.

BACKGROUND

Neighbor Awareness Networking (NAN) may refer to a specification forWi-Fi for device and/or service discovery and peer to peercommunication. NAN may describe the formation of a cluster of devices(referred to as a NAN cluster) for devices in physical proximity to oneanother.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary network environment in accordance with thesystems and methods disclosed herein.

FIG. 2 shows an example of an availability window hop in accordance withexample embodiments of the disclosure.

FIG. 3 shows a diagram of an example operation of the disclosed systemsand methods in accordance with example embodiments of the disclosure.

FIG. 4A shows a flow diagram of an illustrative process for coordinatingchannel switch times and specifying device operation, in accordance withone or more embodiments of the disclosure.

FIG. 4B shows a flow diagram of an illustrative process for coordinatingchannel switch times and specifying device operation, in accordance withone or more embodiments of the disclosure.

FIG. 5 illustrates a functional diagram of an example communicationstation that may be suitable for use as a user device, in accordancewith one or more example embodiments of the disclosure.

FIG. 6 shows a block diagram of an example machine upon which any of oneor more techniques (e.g., methods) may be performed, in accordance withone or more embodiments of the disclosure.

DETAILED DESCRIPTION

Example embodiments described herein provide certain systems, methods,and devices, for providing signaling information to Wi-Fi devices invarious Wi-Fi networks, including, but not limited to, NeighborhoodAwareness Networks (NAN).

The following description and the drawings sufficiently illustratespecific embodiments to enable those skilled in the art to practicethem. Other embodiments may, incorporate structural, logical,electrical, process, and other changes. Portions and features of someembodiments may be included in, or substituted for, those of otherembodiments. Embodiments set forth in the claims encompass all availableequivalents of those claims.

Devices in the same NAN cluster may achieve low power operation, forexample, by following the same awake-time schedule. Moreover, thedevices may transmit NAN service discovery frames in discovery windows(DWs) to subscribe to and/or announce the services that the devices areinterested in receiving from other NAN devices in the cluster.Additionally or alternatively, the devices may announce the servicesthat the devices are providing to other devices in the cluster.

In the IEEE 802.11 specification for wireless devices, a channel switchtime is transmitted between devices in a channel switch announcementframe so that the devices know when to switch between channels. However,a NAN device will not send a channel switch announcement frame whenswitching channels. Instead, NAN devices switch channels based on anegotiated channel/timeslot schedule. The negotiated channel/timeslotschedules however, are not always the same between devices resulting inless than optimum channel switching and missed data traffic by receivingdevices.

Example embodiments of the present disclosure relate to methods,devices, and systems related to coordinating channel switch times andspecifying device operation (for example, transmitting device operation)to ensure data reception by one or more devices (for example, receivingdevices).

In one embodiment, a new attribute (e.g., a channel switch time devicecapability attribute) may be introduced to define the timing of channelswitch times. The attribute may include a channel switch time (CST)parameter that indicates an interval (e.g., in microseconds) that adevice takes to switch from one channel to another channel.

In one embodiment, a sending device may transmit the attribute when itis performing a service discovery to discover one or more services thatmay be offered by a receiving device.

In another embodiment, the sending device may transmit the attribute ina data path, setup request and/or data setup response frame that may becommunicated between the sending and one or more NAN receiving devices.The data path setup request and/or data setup response frames mayinclude a device capability attribute including a CST parameter.

In one embodiment, the sending device may wait for an interval indicatedin the CST parameter during which the receiving device may switch from afirst channel to a second channel (or vice versa). The sending devicemay then send data to the receiving device over the current channel overwhich the receiving device is communicating.

Embodiments described herein may improve data communication between NANdevices by coordinating channel switch times and specifying atransmitting device's behavior to ensure that receiving devices are ableto receive data traffic.

The above descriptions are for purposes of illustration and are notmeant to be limiting. Numerous other examples, configurations,processes, etc., may exist, some of which are described in detail below.Example embodiments will now be described with reference to theaccompanying figures.

FIG. 1 is a network diagram illustrating an example network environment,according to some example embodiments of the present disclosure.Wireless network 100 may include one or more devices 120 and one or moreaccess point(s) (AP) 102, which may communicate in accordance with IEEE802.11 communication standards, including IEEE 802.11ax. The device(s)120 may be mobile devices that are non-stationary and do not have fixedlocations. The user device(s) 120 may be used by one or more user(s)110.

The user device(s) 120 (e.g., 124, 126, or 128) may include any suitableprocessor-driven user device including, but not limited to, a desktopuser device, a laptop user device, a server, a router, a switch, anaccess point, a smartphone, a tablet, wearable wireless device (e.g.,bracelet, watch, glasses, ring, etc.) and so forth. In some embodiments,the user devices 120 and AP 102 may include one or more computer systemssimilar to that of the functional diagram of FIG. 4 and/or the examplemachine/system of FIG. 5 , to be discussed further.

Returning to FIG. 1 , any of the user device(s) 120 (e.g., user devices124, 126, 128), and AP 102 may be configured to communicate with eachother via one or more communications networks 130 and/or 135 wirelesslyor wired. Any of the communications networks 130 and/or 135 may include,but not limited to, any one of a combination of different types ofsuitable communications networks such as, for example, broadcastingnetworks, cable networks, public networks (e.g., the Internet), privatenetworks, wireless networks, cellular networks, or any other suitableprivate and/or public networks. Further, any of the communicationsnetworks 130 and/or 135 may have any suitable communication rangeassociated therewith and may include, for example, global networks(e.g., the Internet), metropolitan area networks (MANs), wide areanetworks (WANs), local area networks (LANs), or personal area networks(PANs). In addition, any of the communications networks 130 and/or 135may include any type of medium over which network traffic may be carriedincluding, but not limited to, coaxial cable, twisted-pair wire, opticalfiber, a hybrid fiber coaxial (HFC) medium, microwave terrestrialtransceivers, radio frequency communication mediums, white spacecommunication mediums, ultra-high frequency communication mediumssatellite communication mediums, or any combination thereof.

Any of the user device(s) 120 (e.g., user devices 124, 126, 128), and AP102 may include one or more communications antennae. Communicationsantenna may be any suitable type of antenna corresponding to thecommunications protocols used by the user device(s) 120 (e.g., userdevices 124, 124 and 128), and AP 102. Some non-limiting examples ofsuitable communications antennas include Wi-Fi antennas, Institute ofElectrical and Electronics Engineers (IEEE) 802.11 family of standardscompatible antennas, directional antennas, non-directional antennas,dipole antennas, folded dipole antennas, patch antennas, multiple-inputmultiple-output (MIMO) antennas, or the like. The communications antennamay be communicatively coupled to a radio component to transmit and/orreceive signals, such as communications signals to and/or from the userdevices 120.

Any of the user devices 120 (e.g., user devices 124, 126, 128), and AP102 may include any suitable radio and/or transceiver for transmittingand/or receiving radio frequency (RF) signals in the bandwidth and/orchannels corresponding to the communications protocols utilized by anyof the user device(s) 120 and AP 102 to communicate with each other. Theradio components may include hardware and/or software to modulate and/ordemodulate communications signals according to pre-establishedtransmission protocols. The radio components may further have hardwareand/or software instructions to communicate via one or more Wi-Fi and/orWi-Fi direct protocols, as standardized by the Institute of Electricaland Electronics Engineers (IEEE) 802.11 standards. In certain exampleembodiments, the radio component, in cooperation with the communicationsantennas, may be configured to communicate via 2.4 GHz channels (e.g.802.11b, 802.11g, 802.11n), 5 GHz channels (e.g. 802.11n, 802.11ac), or60 GHZ channels (e.g. 802.11ad). In some embodiments, non-Wi-Fiprotocols may be used for communications between devices, such asBluetooth, dedicated short-range communication (DSRC), Ultra-HighFrequency (UHF) (e.g. IEEE 802.11af, IEEE 802.22), white band frequency(e.g., white spaces), or other packetized radio communications. Theradio component may include any known receiver and baseband suitable forcommunicating via the communications protocols. The radio component mayfurther include a low noise amplifier (LNA), additional signalamplifiers, an analog-to-digital (A/D) converter, one or more buffers,and digital baseband.

Typically, when, an AP (e.g., AP 102) establishes communication with oneor more user devices 120 (e.g., user devices 124, 126, and/or 128), theAP may communicate in the downlink direction by sending data frames(e.g., 142). The data frames may be preceded by one or more preamblesthat may be part of one or more headers. These preambles may be used toallow the user device to detect a new incoming data frame from the AP. Apreamble may be a signal used in network communications to synchronizetransmission timing between two or more devices (e.g., between the APsand user devices).

In various network standards, for example, in IEEE 802.11mc D5.0, achannel switch time parameter may be specified and transmitted in achannel switch announcement frame by a device (alternatively referred toas a source (SRC) station (STA), or simply STA herein). However, a NANdevice may not be able to send a channel switch announcement frame whenswitching channels. A NAN device may instead switch channels based onpredetermined and/or negotiated channel/time slot schedules, forexample, using availability windows. The disclosed herein are systemsand methods that are directed to coordinating channel switch times andspecifying device operation (for example, transmitting device operation)to ensure data reception by one or more devices (for example, receivingdevices).

In NAN networks, NAN data paths may refer to services that allow NANdevices to setup a data connection between each other. During the NANdata path connection setup, the NAN devices may negotiate availabilitywindows on one or more channels with peer NAN devices on which tocommunicate. The availability windows may indicate the channels and timeslots for the data transmission. Moreover, the availability windows mayoccur on different channels at different times, that is, theavailability windows may hop from channel to channel (for example, froma first channel (for example, channel a), to another channel (forexample, channel b) in approximately adjacent time blocks.

FIG. 2 shows an example diagram 200 of an availability window channelhop for devices communicating on two channels (channel A 205 and channelB 210). The availability window channel hop in this example may occur bya transmitting device (e.g., AP 102 and/or user devices 120 of FIG. 1 )from a first time block (e.g., time block 1 (TB1) 220) operating onchannel A 205 to a second time block (e.g., time block 2 (TB2) 225)operating on channel B 210. The diagram 200 further shows anavailability window channel hop by the transmitting device from thesecond time block, time block 2 (TB2) 225 operating on channel B 210 toa third time block, time block 3 (TB3) 230 operating on channel B 210.

In one embodiment, a NAN device may communicate a channel switch timeparameter associated with the NAN device, to other NAN devices (forexample, other NAN devices in a NAN device cluster) before or during aNAN data path setup. In another embodiment, the channel switch timeparameter may be included as a device capability parameter in a servicediscovery frame, and/or data path request/response frames.

In one embodiment, a larger value of the channel switch time parameterbetween the two NAN devices may be used for the channel switch time forunicast NAN data path connectivity, as compared with, for example, thevalue of the channel switch time parameter for multicast NAN data pathconnectivity. In another embodiment, for multicast NAN data pathcommunication, the channel switch time parameter of the multicasttransmitting device may be used for the value of the channel switch timeparameter. Alternatively, the largest value of channel switch time amongthe multicast group devices may be used for the value of the channelswitch time parameter for the multicast NAN data patch communication.

In various embodiments, the start time associated with the firsttransmission after a switch occurs by a device, as sent from the channelthe device switched to may be based at least in part on, the start timeof the time block associated with the channel the device switched to, achannel switch time (CST), a NAN probe time (NPT), and a random backofftime (RPT). For example, the start time associated with the firsttransmission after a switch, occurs by a device as sent from the channelthe device switched to may be greater than or equal to the sum of thestart time of the time block, associated with the channel the deviceswitched to, the CST, the NPT, and the RBT.

In various embodiments, for a starting time associated with a channelswitch from a first channel (e.g., channel A 205) in a first time block(e.g., time block 1 220) to a different, contiguous (in time) channel(e.g., channel B 210) in a second time block (e.g., time block 2 225), adevice may start the channel switch at the end of the first time block(e.g., time block 1 220). Alternatively, no further restrictions may bespecified, but it may require that the NAN device needing to send aframe to inform other NAN devices (for example, other NAN devices in thecluster of NAN devices) that the device is not available for the rest ofthe first time block (for example, time block 1 220) while the NANdevice is switching channels, for example, before the end of the firsttime block.

In one embodiment, a channel switch time may be added to a devicecapability attribute. The device capability attribute may be transmittedby the device to other devices (for example, other NAN devices in a NANdevice cluster) in a service discovery frame and/or data path setuprequest/response frames. Furthermore, the channel switch time field mayhave a variable value corresponding to the time it takes for the NANdevice to switch channels in units of microseconds, and the channelswitch time field may have a predetermined size, for example, apredetermined size of 2 octets.

FIG. 3 shows a diagram 300 representing an example device operation(e.g., a NAN device operation) during a channel switch in accordancewith example embodiments of the disclosure. As shown in the diagram 300,two devices, device A 305 and device B 320 may communicate on a network,for example, a NAN network. The device A 305 may further comprise anapplication module 310 which may run various programs related to thecommunication on the network. The device B 320 may further comprise anapplication module 330 which may also run various programs related tocommunication on the network, receive input 332 from one or more users,and the like. The device A 305 and the device B 320 may further comprisea NAN engine 315 and a NAN engine 325, respectively, that may engage incommunication with each, other as well as one or more other NAN devices,for example, NAN devices that are part of a NAN cluster (not shown).

At a first scheduled time (T1), the device A 305 and the device B 320may send various time synchronization frames (e.g., time synchronizationframes 340 and 350) to one another, for example, to synchronizecommunications on the NAN network. At a next scheduled time (T2), deviceB 320 may send a service discovery and/or a data path, setup requestframe 360 along with a device capability attribute (e.g CST-A) to thedevice A 305. At a next scheduled time, the device A 305 may send aservice discovery and/or data path setup response frame 370 along with,a device capability attribute (e.g., call CST-B) to device B 320. CST-Amay refer to device A's channel switch time, and CST-B may refer todevice B's channel switch time.

At this point the devices A 305 and B 320 may be communicating on afirst channel (not shown). At a predetermined scheduled time block 380,the devices A. 305 and B 320 may switch channels to the target channel302. Upon arriving in the target channel 302, the device A 305 may waitat least for a duration specified by a channel switch time (CST)parameter 375. The CST parameter 375 may be determined as the maximumvalue of the first CST, CST-A and the second CST, CST-B.

After switching channels, each NAN device (device A 305 and device B320) may perform a clear channel assessment (CCA) on the target channel302 (not shown). This may result in a frame being detected by one of thedevices (device A 305 and device B 320), in which case the device mayset a network allocation vector (NAV) associated with the device.Alternatively, the devices (device A 305 and device B 320) may waituntil a period of time equal to at least a NAN probe time (NPT) 377 hastranspired before transmitting and/or receiving any data.

The first transmission 385 on the target channel 302 may be preceded bya random backoff (RBT) 379, which may start approximately at, the end ofthe NAN probe time (NPT) 377 parameter, and, followed by anacknowledgement message 390 from, the NAN engine 325 in the device B320.

At a next scheduled time T4, the devices A 305 and B 320 may begintransmitting and/or receiving data with each other. In variousembodiments, the start time associated with, a first transmission 385 bythe device A 305 sent on the target channel 302 the device B 320 switch,may be based at least in part on a start time of the time blockassociated with the channel the transmitting device switched to, thechannel switch time (CST), the NAN probe time (NPT), and the randombackoff time (RBT). For example, the start time (T4) associated with thefirst transmission by the device A 305 sent from the channel the deviceB 320 switched to may be greater than or equal to the sum of the starttime of the time block 380 associated with the channel the device A 305switched to, the CST 375, the NPT 377, and the RBT 379.

In various embodiments, for a starting time associated with a channelswitch from a first channel (e.g., channel A 205 of FIG. 2 ) in a firsttime block (e.g., time block 1 220 of FIG. 2 ) to a different,approximately contiguous (in time) channel (e.g., channel B 210 of FIG.2 ) in a second time block (e.g., time block 2 225 of FIG. 2 ), thesystems and methods may further define that a device starts the channelswitch at the end of the first time block (e.g., time block 1 220 ofFIG. 2 ). Alternatively, the systems and methods may not specify anyfurther restriction, but may require that the NAN device needs to send aframe to inform other NAN devices (for example, other NAN devices in thecluster of NAN devices) that the device is not available for the rest ofthe first time block (for example, time block 1 220 of FIG. 2 ) whilethe NAN device is switching channels, for example, before the end of thefirst time block.

FIG. 4A illustrates a flow diagram of an illustrative process 400 forcoordinating channel switch times and specifying device operation, inaccordance with one or more embodiments of the disclosure.

At block 402, a device (e.g., the AP 102 or the user device 120 of FIG.1 ), may receive a data path setup request frame from a second device(e.g., the AP 102 or the user device 120). In one embodiment, the datapath setup request frame may include a device capability attribute.

At block 404, the device may cause to send a data path setup responseframe to the second device. In one embodiment, the data path setuprequest frame may include a second device capability attribute.

At block 406, the device may cause to establish a communication with thesecond device on a first channel. For example, the device may establishcommunication with the second device over a 2.4 GHz channel, a 5 GHzchannel, or a 60 GHZ channel.

At block 408, the device may cause to establish a communication with thesecond device on a second channel at a first time. In one embodiment,the device may use an availability window to establish the communicationwith the second device. For example, the device may use an availabilitywindow to switch channels based on predetermined and/or negotiatedchannel/time slot schedules.

At block 410, the device may cause to wait at least for a durationspecified by a channel switch time (CST) parameter. The CST parametermay include a device capability parameter associated with the data pathsetup request frame or a second device capability parameter associatedwith the data setup response frame. In one embodiment, the CST parametermay be determined as a maximum value of the first device capabilityattribute and the second device capability attribute discussed abovewith respect to blocks 402 and 404 as well as in FIGS. 2-3 . In oneembodiment, the device may also cause to wait for a duration specifiedby a NPT. In another embodiment, the device may cause to wait for aduration specified by a RBT.

At block 412, the device may cause to send data to the second deviceover the first channel or the second channel based at least in part onthe CST parameter. It is understood that the above descriptions are forpurposes of illustration and are not meant to be limiting.

FIG. 4B illustrates a flow diagram of an illustrative process 450 forcoordinating channel switch times and specifying device operation, inaccordance with one or more embodiments of the disclosure.

At block 452, a device (e.g., the AP 102 or the user device 120 of FIG.1 ), may cause to send a data path setup request frame to a seconddevice. In one embodiment, the data, path setup request frame mayinclude a device capability attribute.

At block 454, the device may receive a data path setup response frame.In one embodiment, the data path setup request frame may include asecond device capability attribute.

At block 456, the device may cause to establish a communication with thesecond device on a first channel. For example, the device may establishcommunication with the second device over a 2.4 GHz channel, a 5 GHzchannel, or a 60 GHZ channel.

At block 458, the device may cause to establish a communication with thesecond device on a second channel at a first time. In one embodiment,the device may use an availability window to establish the communicationwith the second device.

At block 460, the device may cause to wait at least for a durationspecified by a channel switch time (CST) parameter. The CST parametermay include a device capability parameter associated with the data pathsetup request frame or a second device capability parameter associatedwith the data setup response frame. In one embodiment, the CST parametermay be determined as a maximum value of the first device capabilityattribute and the second device capability attribute discussed above. Inone embodiment, the device may also cause to wait for a durationspecified by a NPT. In another embodiment, the device may cause to waitfor a duration specified by a RBT.

At block 462, the device may cause to receive data from the first deviceover the first channel or the second channel based at least in part onthe CST parameter. It is understood that the above descriptions are forpurposes of illustration and are not meant to be limiting.

FIG. 5 shows a functional diagram of an exemplary communication station500 in accordance with some embodiments. In one embodiment, FIG. 5illustrates a functional block diagram of a communication station thatmay be suitable for use as an AP 102 (FIG. 1 ) or communication stationuser device 120 (FIG. 1 ) in accordance with some embodiments. Thecommunication station 500 may also be suitable for use as a handhelddevice, mobile device, cellular telephone, smartphone, tablet, netbook,wireless terminal, laptop computer, wearable computer device, femtocell,High Data Rate (HDR) subscriber station, access point, access terminal,or other personal communication system (PCS) device.

The communication station 500 may include communications circuitry 502and a transceiver 510 for transmitting and receiving signals to and fromother communication stations using one or more antennas 501. Thecommunications circuitry 502 may include circuitry that may operate thephysical layer communications and/or medium access control (MAC)communications for controlling access to the wireless medium, and/or anyother communications layers for transmitting and receiving signals. Thecommunication station 500 may also include processing circuitry 506 andmemory 508 arranged to perform the operations described herein. In, someembodiments, the communications circuitry 502 and the processingcircuitry 506 may be configured to perform operations detailed in FIGS.1-3, 4A, and 4B.

In accordance with some embodiments, the communications circuitry 502may be arranged to contend for a wireless medium and configure frames orpackets for communicating over the wireless medium. The communicationscircuitry 502 may be arranged to transmit and receive signals. Thecommunications circuitry 502 may also include circuitry formodulation/demodulation, upconversion/downconversion, filtering,amplification, etc. In some embodiments, the processing circuitry 506 ofthe communication station 500 may include one or more processors. Inother embodiments, two or more antennas 501 may be coupled to thecommunications circuitry 502 arranged for sending and receiving signals.The memory 508 may store information for configuring the processingcircuitry 506 to perform operations for configuring and transmittingmessage frames and performing the various operations described herein.The memory 508 may include any type of memory, including non-transitorymemory, for storing information in a form readable by a machine (e.g., acomputer). For example, the memory 508 may include a computer-readablestorage device, read-only memory (ROM), random-access memory (RAM),magnetic disk storage media, optical storage media, flash-memory devicesand other storage devices and media.

In some embodiments, the communication station 500 may be part of aportable wireless communication device, such as a personal digitalassistant (PDA), a laptop or portable computer with wirelesscommunication capability, a web tablet, a wireless telephone, asmartphone, a wireless headset, a pager, an instant messaging device, adigital camera, an access point, a television, a medical device (e.g., aheart rate monitor, a blood pressure monitor, etc.), a wearable computerdevice, or another device that may receive and/or transmit informationwirelessly.

In some embodiments, the communication station 500 may include one ormore antennas 501. The antennas 501 may include one or more directionalor omnidirectional antennas, including, for example, dipole antennas,monopole antennas, patch antennas, loop antennas, microstrip antennas,or other types of antennas suitable for transmission of RF signals. Insome embodiments, instead of two or more antennas, a single antennawith, multiple apertures may be used. In these embodiments, eachaperture may be considered a separate antenna. In some multiple-inputmultiple-output (MIMO) embodiments, the antennas may be effectivelyseparated for spatial diversity and the different channelcharacteristics that may result between each of the antennas, and theantennas of a transmitting station.

In some embodiments, the communication station 500 may include one ormore of a keyboard, a display, a non-volatile memory port, multipleantennas, a graphics processor, an, application processor, speakers, andother, mobile device elements. The display may be an LCD screenincluding a touch screen.

Although the communication station 500 is illustrated as having severalseparate functional elements, two or more of the functional elements maybe combined and may be implemented by combinations ofsoftware-configured elements, such as processing elements includingdigital signal processors (DSPs), and/or other hardware elements. Forexample, some elements may include one or more microprocessors, DSPs,field-programmable gate arrays (FPGAs), application specific integratedcircuits (ASICs), radio-frequency integrated circuits (RFICs) andcombinations of, various hardware and logic circuitry for performing atleast the functions described herein. In some embodiments, thefunctional elements of the communication station 500 may refer to one ormore processes operating on one or more processing elements.

Certain embodiments may be implemented in one or a combination ofhardware, firmware, and software. Other embodiments may also beimplemented as instructions stored on a computer-readable storagedevice, which may be read and executed by at least one processor toperform the operations described herein. A computer-readable storagedevice may include any non-transitory memory mechanism for storinginformation in a form readable by a machine (e.g., a computer). Forexample, a computer-readable storage device may include read-only memory(ROM), random-access memory (RAM), magnetic disk storage media, opticalstorage media, flash-memory devices, and other storage devices andmedia. In some embodiments, the communication station 500 may includeone or more processors and may be configured with instructions stored ona computer-readable storage device memory.

FIG. 6 illustrates a block diagram of an example of a machine 600 orsystem upon which any one or more of the techniques (e.g.,methodologies) discussed herein may be performed. In other embodiments,the machine 600 may operate as a standalone device or may be connected(e.g., networked) to other machines. In a networked deployment, themachine 600 may operate in the capacity of a server machine, a clientmachine, or both in server-client network environments. In an example,the machine 600 may act as a peer machine in peer-to-peer (P2P) (orother distributed) network environments. The machine 600 may be apersonal, computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile telephone, wearable computer device, aweb appliance, a network router, switch or bridge, or any machinecapable of executing instructions (sequential or otherwise) that specifyactions to be taken by that machine, such as a base station. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein, such as cloudcomputing, software as a service (SaaS), or other computer clusterconfigurations.

Examples, as described herein, may include or may operate on, logic or anumber of components, modules, or mechanisms. Modules are tangibleentities (e.g., hardware) capable of performing specified operationswhen operating. A module includes hardware. In an example, the hardwaremay be specifically configured to carry out a specific operation (e.g.,hardwired). In another example, the hardware may include configurableexecution units (e.g., transistors, circuits, etc.) and a computerreadable medium containing instructions where the instructions configurethe execution units to carry out a specific operation when in operation.The configuring may occur under the direction of the executions units ora loading mechanism. Accordingly, the execution units arecommunicatively coupled to the computer-readable medium when the deviceis operating. In this example, the execution units may be a member ofmore than one module. For example, under operation, the execution unitsmay be configured by a first set of instructions to implement a firstmodule at one point in time and reconfigured by a second set ofinstructions to implement a second module at a second point in time.

The machine (e.g., computer system) 600 may include a hardware processor602 (e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 604 and, a static memory 606, some or all of which maycommunicate with each other via an interlink (e.g., bus) 608. Themachine 600 may further include a power management device 632, agraphics display device 610, an alphanumeric input device 612 (e.g., akeyboard), and a user interface (UI) navigation device 614 (e.g., amouse). In an example, the graphics display device 610, alphanumericinput device 612, and UI navigation device 614 may be a touch screendisplay. The machine 600 may additionally include a storage device(i.e., drive unit) 616, a signal generation device 618 (e.g., aspeaker), a NAN timing device 619, a network interfacedevice/transceiver 620 coupled to antenna(s) 630, and one or moresensors 628, such as a global positioning system (GPS) sensor, compass,accelerometer, or other sensor. The machine 600 may include an outputcontroller 634, such as a serial (e.g, universal serial bus (USB),parallel, or other wired or wireless (e.g., infrared (IR), near fieldcommunication (NFC), etc.) connection to communicate with or control oneor more peripheral devices (e.g., a printer, card reader, etc.)).

The storage device 616 may include a machine readable medium 622 onwhich is stored one or more sets of data structures or instructions 624(e.g., software) embodying or utilized by any one or more of thetechniques or functions described herein. The instructions 624 may alsoreside, completely or at least partially, within the main memory 604,within the static memory 606, or within the hardware processor 602during execution thereof by the machine 600. In an example, one or anycombination of the hardware processor 602, the main memory 604, thestatic memory 606, or the storage device 616 may constitutemachine-readable media.

The NAN timing device 619 may carry out or perform any of the operationsand processes (e.g., processes 400 and 450) described and shown above.For example, the NAN timing device 619 may be configured to coordinatechannel switch times and specify device operation (for example,transmitting device operation) to ensure data reception by one or moredevices (for example, receiving devices).

In one embodiment, the NAN device 619 may be configured to introduce anew attribute (e.g., a channel switch time device capability attribute)to define the timing of channel switch times. The attribute may includea channel switch time (CST) parameter that indicates an interval (e.g.,in microseconds) that a device takes to switch from one channel toanother channel.

In one embodiment, the NAN device 619 may be configured to transmit theattribute when it is performing a service discovery to discover one ormore services that may be offered by a receiving device.

In another embodiment the NAN device 619 may be configured to transmitthe attribute in a data path setup request and/or data setup responseframe that may be communicated between the sending and one or more NANreceiving devices. The data path setup request and/or data setupresponse frames may include a device capability attribute including aCST parameter.

In one embodiment the NAN device 619 may be configured to wait for aninterval indicated in the CST parameter during which the receivingdevice may switch from a first channel to a second channel (or viceversa). The NAN device 619 may be configured to send data to thereceiving device over the current channel over which the receivingdevice is communicating.

Embodiments described herein may improve data communication between NANdevices by coordinating channel switch times and specifying atransmitting device's behavior to ensure that receiving devices are ableto receive data traffic.

It is understood that the above are only a subset of what the NAN timingdevice 619 may be configured to perform and that other functionsincluded throughout this disclosure may also be performed by the NANtiming device 619.

While the machine-readable medium 622 is illustrated as a single medium,the term “machine-readable medium” may include a single medium ormultiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) configured to store the one or moreinstructions 624.

Various embodiments may be implemented fully or partially in softwareand/or firmware. This software and/or firmware may take the form ofinstructions contained in or on a non-transitory computer-readablestorage medium. Those instructions may then be read and executed by oneor more processors to enable performance of the operations describedherein. The instructions may be in any suitable form, such as but notlimited to source code, compiled code, interpreted code, executablecode, static code, dynamic code, and the like. Such a computer-readablemedium may include any tangible non-transitory medium for storinginformation in a form readable by one or more computers, such as but notlimited to read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; a flash memory, etc.

The term “machine-readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 600 and that cause the machine 600 to perform any one ormore of the techniques of the present disclosure, or that is capable ofstoring, encoding, or carrying data structures used by or associatedwith such instructions. Non-limiting machine-readable medium examplesmay include solid-state memories and optical and magnetic media. In anexample, a massed machine-readable medium includes a machine-readablemedium with a plurality of particles having resting mass. Specificexamples of massed machine-readable media may include non-volatilememory, such as semiconductor memory devices (e.g., ElectricallyProgrammable Read-Only Memory (EPROM), or Electrically ErasableProgrammable Read-Only Memory (EEPROM)) and flash memory devices;magnetic disks, such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks.

The instructions 624 may further be transmitted or received over acommunications network 626 using a transmission medium via the networkinterface device/transceiver 620 utilizing any one of a number oftransfer protocols (e.g., frame relay, internet protocol (IP),transmission control protocol (TCP), user datagram protocol (UDP),hypertext transfer protocol (HTTP), etc.). Example communicationsnetworks may include a local area network (LAN), a wide area network(WAN), a packet data network (e.g., the Internet), mobile telephonenetworks (e.g., cellular networks), Plain Old Telephone (POTS) networks,wireless data networks (e.g., Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16family of standards known as WiMax®), IEEE 802.15.4 family of standards,and peer-to-peer (P2P) networks, among others. In an example, thenetwork interface device/transceiver 620 may include one or morephysical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or moreantennas to connect to the communications network 626. In an example,the network interface device/transceiver 620 may include a plurality ofantennas to wirelessly communicate using at least one of single-inputmultiple-output (SIMO), multiple-input multiple-output (MIMO), ormultiple-input single .output (MISO) techniques. The term “transmissionmedium” shall be taken to include any intangible medium that is capableof storing, encoding, or carrying instructions for execution by themachine 600 and includes digital or analog communications signals orother intangible media to facilitate communication of such software. Theoperations and processes described and shown above may be carried out orperformed in any suitable order as desired in various implementations.Additionally, in certain implementations, at least a portion of theoperations may be carried out in parallel. Furthermore, in certainimplementations, less than or, more than the operations described may beperformed.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any embodiment described herein as“exemplary” is not, necessarily to be construed as preferred oradvantageous over other embodiments. The terms “computing device” “userdevice”, “communication station”, “station”, “handheld device”, “mobiledevice”, “wireless device” and “user equipment” (UE) as used hereinrefers to a wireless, communication device such as a cellular telephone,smartphone, tablet, netbook, wireless terminal, laptop computer, afemtoeell, High Data Rate (HDR) subscriber station, access point,printer, point of sale device, access terminal, or other personalcommunication, system (PCS) device. The device may be either mobile orstationary.

As used within this document, the term “communicate” is intended toinclude transmitting, or receiving, or both transmitting and receiving.This may be particularly useful in claims when describing theorganization of data that is being transmitted by one device andreceived by another, but only the functionality of one of those devicesis required to infringe the claim. Similarly, the bidirectional exchangeof data between two devices (both devices transmit and receive duringthe exchange) may be described as ‘communicating’, when only thefunctionality of one of those devices is being claimed. The term“communicating” as used herein with respect to a wireless communicationsignal includes transmitting the wireless communication signal and/orreceiving the wireless communication signal. For example, a wirelesscommunication unit, which is capable of communicating a wirelesscommunication signal, may include a wireless transmitter to transmit thewireless communication signal to at least one other wirelesscommunication unit, and/or a wireless communication receiver to receivethe wireless communication signal from at least one other wirelesscommunication unit.

The term “access point” (AP) as used herein may be a fixed station. Anaccess point may also be referred to as an access node, abase station,or some other similar terminology known in the art. An access terminalmay also be called a mobile station, user equipment (UE), a wirelesscommunication device, or sonic other similar terminology known in theart. Embodiments disclosed herein generally pertain to wirelessnetworks. Some embodiments may relate to wireless networks that operatein, accordance with one of the IEEE 802.11 standards.

Some embodiments may be used in conjunction with various devices andsystems, for example, a Personal Computer (PC), a desktop computer, amobile computer, a laptop computer, a notebook computer, a tabletcomputer, a server computer, a handheld computer, a handheld device, aPersonal Digital Assistant (PDA) device, a handheld PDA device, anon-board device, an off-board device, a hybrid device, a vehiculardevice, a non-vehicular device, a mobile or portable device, a consumerdevice, a non-mobile or non-portable device, a wireless communicationstation, a wireless communication, device, a wireless Access Point (AP),a wired or wireless router, a wired or wireless modem, a video device,an, audio device, an audio-video (A/V) device, a wired or wirelessnetwork, a wireless area network, a Wireless Video Area Network (WVAN),a Local Area Network (LAN), a Wireless LAN (WLAN), a Personal AreaNetwork (PAN), a Wireless PAN (WPAN), and the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, aPersonal Communication Systems (PCS) device, a PDA device whichincorporates a wireless communication device, a mobile or portableGlobal Positioning System (GPS) device, a device which incorporates aGPS receiver or transceiver or chip, a device which incorporates an RFIDelement or chip, a Multiple Input Multiple Output (MIMO) transceiver ordevice, a Single Input Multiple Output (SIMO) transceiver or device, aMultiple Input Single Output (MISO) transceiver or device, a devicehaving one or more internal antennas and/or external antennas, DigitalVideo Broadcast (DVB) devices or systems, multi-standard radio devicesor systems, a wired or wireless handheld device, (e.g., a Smartphone), aWireless Application Protocol (WAP) device, or the like.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems following one or morewireless communication protocols, for example, Radio Frequency (RF),Infra Red (IR), Frequency-Division Multiplexing (FDM), Orthogonal FDM(OFDM), Time-Division Multiplexing (TDM), Time-Division Multiple Access(TDMA), Extended TDMA (E-TDMA), General Packet Radio Service (GPRS),extended GPRS, Code-Division Multiple Access (CDMA), Wideband CDMA(WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA,Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth®,Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee™, Ultra Wideband(UWB), Global System for Mobile communication (GSM), 2G, 2.5G, 3G, 3.5G,4G, Fifth Generation (5G) mobile networks, 3GPP, Long Term Evolution(LTE), LTE advanced, Enhanced Data rates for GSM Evolution (EDGE), orthe like. Other embodiments may be used in various other devices,systems, and/or networks.

According to example embodiments of the disclosure, there may be adevice. The device may include memory and processing circuitryconfigured to receive a data path setup request frame from a seconddevice. The memory and processing circuitry may be further configured tocause to send a data path setup response frame. The memory andprocessing circuitry may be further configured to cause to establish acommunication with the second device on a first channel. The memory andprocessing circuitry may be further configured to cause to establish acommunication with the second device on a second channel at a firsttime. The memory and processing circuitry may be further configured tocause to wait at least for a duration specified by a channel switch time(CST) parameter. The memory and processing circuitry may be furtherconfigured to cause to send data to the second device over the firstchannel or the second channel based at least in part on the CSTparameter.

The implementations may include one or more of the following features.An availability window may be used to establish a communication with thesecond device on a second channel at a first time. The data path setuprequest frame may include a first device capability attribute. The firstdevice capability attribute may include the CST parameter. The data pathsetup response frame, may further include a second device capabilityattribute. The second device capability attribute may, include the CSTparameter. The memory and processing circuitry may further be configuredto determine the CST parameter as a maximum value of the first devicecapability attribute and the second device capability attribute. Thememory and processing circuitry may further be configured to cause thedevice to wait for a duration specified by a Neighborhood AwarenessNetwork (NAN) probe time (NPT) before the causing to send, by thedevice, data to the second device. The memory and processing circuitrymay further be configured to cause the device to wait for a durationspecified by a random backoff time (RBT) before the causing to send datato the second device. The channel switch time (CST) parameter mayfurther include a device capability parameter associated with a datapath setup request frame or a second device capability parameterassociated with a data path setup response frame. The device may furtherinclude a transceiver configured to transmit and receive wirelesssignals and an antenna coupled to the transceiver.

According to example embodiments of the disclosure, there may be adevice. The device may include memory and processing circuitryconfigured to cause to send, by a first device, a data path setuprequest frame to a second device. The memory and processing circuitrymay further be configured to receive a data path setup response frame.The memory and processing circuitry may further be configured to causeto establish, by the first device, a communication with, the seconddevice on a first channel. The memory and processing circuitry mayfurther be configured to cause to establish, by the first device, acommunication with the second device on a second channel at a firsttime. The memory and processing circuitry may further be configured tocause to wait, by the first device, at least for a duration specified bya channel switch time (CST) parameter. The memory and processingcircuitry may further be configured to receive data from the firstdevice over the first channel or the second channel based at least inpart on the CST parameter.

The implementations may include one or more of the following features.The data path setup request frame may include a first device capabilityattribute. The data path, setup response frame may include a seconddevice capability attribute. The channel switch time (CST) parameter maybe a maximum value of the first device capability attribute and thesecond device capability attribute. The memory and processing circuitrymay further be configured to cause the first device to wait for aduration specified by a Neighborhood Awareness Network (NAN) probe time(NPT) before the data is received. The memory and processing circuitrymay further be configured to cause the first device to wait for aduration specified by a random backoff time (RBT) before the data isreceived. The channel switch time (CST) parameter may further include afirst device capability parameter associated with a data path setuprequest frame or a second device capability parameter associated with adata, path setup response frame. The device may further include atransceiver configured to transmit and receive wireless signals and anantenna coupled to the transceiver.

According to example embodiments of the disclosure, there may be anon-transitory computer-readable medium storing computer-executableinstructions which, when executed by a processor, cause the processor toperform operations. The operations may include receiving a data pathsetup request frame from a second device. The operations may furtherinclude causing to send a data path setup response frame. The operationsmay further include causing to establish a communication with the seconddevice on a first channel. The operations may further include causing toestablish a communication with the second device on a second channel ata first time. The operations may further include causing to wait at,least for a duration specified by a channel switch time (CST) parameter.The operations may further include causing to send data to the seconddevice over the first channel or the second channel based at least inpart on the CST parameter.

The implementations may include one or more of the following features.An availability window may be used to establish a communication with thesecond device on a second channel at a first time. The data path setuprequest frame may include a first device capability attribute. The firstdevice capability attribute may include the CST parameter. The data pathsetup response frame may further include a second device capabilityattribute. The second device capability attribute may include the CSTparameter. The operations may further include determining the CSTparameter as a maximum value of the first device capability attribute,and the second device capability attribute. The operations may furtherinclude causing the device to wait for a duration specified by aNeighborhood Awareness Network (NAN) probe time (NPT) before thecausing, to send, by the device, data to the second device. Theoperations may further include waiting for a duration specified by arandom backoff time (RBT) before the causing to send data to the seconddevice. The channel switch time (CST) parameter may further include adevice capability parameter associated with a data path setup requestframe or a second device capability parameter associated with a datapath setup response frame.

According to example embodiments of the disclosure, there may be anon-transitory computer-readable medium storing computer-executableinstructions which, when executed by a processor, cause the processor toperform operations. The operations may include causing to send, by afirst device, a data path setup request frame to a second device. Theoperations may further include receiving a data path setup responseframe. The operations may further include causing to establish, by thefirst device, a communication with the second device on a first channel.The operations may further include causing to establish by the firstdevice, a communication with the second device on a second channel at afirst time. The operations may further include causing to wait, by thefirst device, at least for a duration specified by a channel switch time(CST) parameter. The operations may further include receiving data from,the first device over the first channel or the second channel based atleast in part on the CST parameter.

The implementations may include one or more of the following features.The data path setup request frame may include a first device capabilityattribute. The data path setup response frame may include a seconddevice capability attribute. The channel switch time (CST) parameter maybe a maximum value of the first device capability attribute and thesecond device capability attribute. The operations may further includecausing the first device to wait for a duration specified by aNeighborhood Awareness Network (NAN) probe time (NPT) before the data isreceived. The operations may further include causing the first device towait for a duration specified by a random backoff time (RBT) before thedata is received. The channel switch time (CST) parameter may furtherinclude a first device capability parameter associated with a data pathsetup request frame or a second device capability parameter associatedwith a data path setup response frame.

According to example embodiments of the disclosure, there may include amethod. The method may include receiving, by a first device, a data pathsetup request frame from a second device. The method may further includecausing to send a data path setup response frame. The method may furtherinclude causing to establish, by the first device, a communication withthe second device on a first channel. The method may further includecausing to establish, by the first device, a communication with thesecond device on a second channel at a first time. The method mayfurther include causing to wait, by the first device, at least for aduration specified by a channel switch time (CST) parameter. The methodmay further include causing to send, by the first device, data to thesecond device over the first channel or the second channel based atleast in part on the CST parameter.

The implementations may include one or more of the following features.The data path setup request frame may further include a first devicecapability attribute, the first device capability attribute includingthe CST parameter. The data path setup response frame may furtherinclude a second device capability attribute, the second devicecapability attribute including the CST parameter. The method may furtherinclude determining the CST parameter as a maximum value of the firstdevice capability attribute and the second device capability attribute.

According to example embodiments of the disclosure, there may include amethod. The method may include causing to send, by a first device, adata path setup request frame to a second device. The method may furtherinclude receiving a data path setup response frame. The method mayfurther include causing to establish, by the first device, acommunication with the second device on a first channel. The method mayfurther include causing to establish, by the first device, acommunication with the second device on a second channel at a firsttime. The method may further include causing to wait, by the firstdevice, at least for a duration specified by a channel switch time (CST)parameter. The method may further include receiving data from the firstdevice over the first channel or the second channel based at least inpart on the CST parameter.

The implementations may include one or more of the following features.The data path setup request frame may include a first device capabilityattribute. The data path setup response frame may include a seconddevice capability attribute. The channel switch time (CST) parameter maybe a maximum value of the first device capability attribute and thesecond device capability attribute. The method may further includecausing the first device to wait for a duration specified by aNeighborhood Awareness Network (NAN) probe time (NPT) probe time (NPT)before the data is received. The method may further include causing thefirst device to wait for a duration specified by a random backoff time(RBT) before the data is received. The channel switch time (CST)parameter may further include a first device capability parameterassociated with a data path setup request frame or a second devicecapability parameter associated with a data path setup response frame.

In example embodiments of the disclosure, there may be an apparatus. Theapparatus may include means for receiving, by a first device, a datapath setup request frame from a second device. The apparatus may includemeans for causing to send a data path setup response frame. Theapparatus may include means for causing to establish, by the firstdevice, a communication with the second device on a first channel. Theapparatus may include means for causing to establish, by the firstdevice, a communication with the second device on a second channel at afirst time. The apparatus may include means for causing to wait, by thefirst device, at least for a duration specified by a channel switch time(CST) parameter. The apparatus may include means for causing to send, bythe first device, data to the second device over the first channel orthe second channel based at least in part on the CST parameter.

The implementations may include one or more of the following features.The data path, setup request frame may further include a first devicecapability attribute, the first device capability attribute includingthe CST parameter. The data path setup response frame may furtherinclude a second device capability attribute, the second devicecapability attribute including the CST parameter. The apparatus, mayinclude means for determining the CST parameter as a maximum value ofthe first device capability attribute and the second device capabilityattribute.

In example embodiments of the disclosure, there may be an apparatus. Theapparatus may include means for causing to send, by a first device, adata path setup request frame to a second device. The apparatus mayinclude means for receiving a data path setup response frame. Theapparatus may include means for causing to establish, by the firstdevice, a communication with the second device on a first channel. Theapparatus may include means for causing to establish, by the firstdevice, a communication with the second device on a second channel at afirst time. The apparatus may include means for causing to wait, by thefirst device, at least for a duration specified by a channel switch time(CST) parameter. The apparatus may include means for receiving data fromthe first device over the first channel or the second channel based atleast in part on the CST parameter.

The implementations may include one or more of the following features.The data path setup request frame may include a first device capabilityattribute. The data path, setup response frame may include a seconddevice capability attribute. The channel switch, time (CST) parametermay be a maximum value of the first device capability attribute and thesecond device capability attribute. The apparatus may include means forcausing the first device to wait for a duration specified by aNeighborhood Awareness Network (NAN) probe time (NPT) probe time (NPT)before the data is received. The apparatus may include means for causingthe first device to wait for a duration specified by a random backofftime (RBT) before the data is received. The channel switch time (CST)parameter may further include a first device capability parameterassociated with a data path setup request frame or a second devicecapability parameter associated with a data path setup response frame.

Certain aspects of the disclosure are described above with reference toblock and flow diagrams of systems, methods, apparatuses, and/orcomputer program products, according to various implementations. It willbe understood that one or more blocks of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and the flowdiagrams, respectively, may be implemented by computer-executableprogram instructions. Likewise, some blocks of the block diagrams andflow diagrams may not necessarily need to be performed in the orderpresented, or may not necessarily need to be performed at all, accordingto some implementations.

These computer-executable program instructions may be, loaded onto aspecial-purpose computer or other particular machine, a processor, orother programmable data processing apparatus to produce a particularmachine, such that the instructions that execute on the computer,processor, or other programmable data processing apparatus create meansfor implementing one or more functions specified in the flow diagramblock or blocks. These computer program instructions may also be storedin a computer-readable storage media or memory that may direct acomputer or other programmable data processing apparatus to function ina particular manner, such that the instructions stored in thecomputer-readable storage media produce an article of manufactureincluding instruction means that implement one or more functionsspecified in the flow diagram block or blocks. As an example, certainimplementations may provide for a computer program product, comprising acomputer-readable storage medium having a computer readable program codeor program instructions implemented therein, said computer-readableprogram code adapted to be executed to implement one or more functionsspecified in the flow diagram block or blocks. The computer programinstructions may also be loaded onto a computer or other programmabledata processing apparatus to cause a series of operational elements orsteps to be performed on the computer or other programmable apparatus toproduce a computer-implemented process such that the instructions thatexecute on the computer or other programmable apparatus provide elementsor steps for implementing the functions specified in the flow diagramblock or blocks.

Accordingly, blocks of the block diagrams and flow diagrams supportcombinations of means for performing the specified functions,combinations of elements or steps for performing the specified functionsand program instruction means for performing the specified functions. Itwill also be understood that each block of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and flowdiagrams, may be implemented by special-purpose, hardware-based computersystems that perform the specified functions, elements or steps, orcombinations of special-purpose hardware and computer instructions.

Conditional language, such as, among others, “can,” “could,” “might,”or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainimplementations could include, while other implementations do notinclude, certain features, elements, and/or operations. Thus, such,conditional language is not generally intended to imply that features,elements, and/or operations are in any way required for one or moreimplementations or that one or more implementations necessarily includelogic for deciding, with or without user input or prompting, whetherthese features, elements, and/or operations are included or are to beperformed in any particular implementation.

Many modifications and other implementations of the disclosure set forthherein will be apparent having the benefit of the teachings presented inthe foregoing descriptions and the associated drawings. Therefore, it isto be understood that the disclosure is not to be limited to thespecific implementations disclosed and that modifications and otherimplementations are intended to be included within the scope of theappended claims. Although specific terms are employed herein, they areused in a generic and descriptive sense only and not for purposes oflimitation.

What is claimed is:
 1. A device comprising processing circuitry andstorage, the processing circuitry coupled to the storage, the devicebeing a second device, the processing circuitry configured to: identifya data path setup request frame received from a first device, whereinthe data path setup request frame comprises a first device capabilityattribute corresponding to the first device that includes a channelswitch time (CST) parameter; cause to send a data path setup responseframe, wherein the data path setup response frame comprises a seconddevice capability attribute that includes the CST parameter; identify anavailability window in the first capability attribute or the secondcapability attribute; establish a communication with the, first deviceon a channel using the availability window; determine to wait at leastfor a duration specified by the CST parameter; and cause to send data tothe first device over the second channel, within the availabilitywindow, and after waiting at least for the duration specified by the CSTparameter.
 2. The device of claim 1, wherein the CST parameter is amaximum CST.
 3. The device of claim 1, wherein the CST parameter isexpressed in units of microseconds.
 4. The device of claim 1, wherein asize of a field indicating the CST parameter is 2 octets.
 5. The deviceof claim 1, wherein data sent to the second device over the secondchannel is a first data transmission that is preceded by a randombackoff time (RBT).
 6. The device of claim 1, wherein the processingcircuitry is further configured to cause to send a service discoveryframe in a discovery window.
 7. The device of claim 1, wherein theprocessing circuitry is further configured to cause to send asynchronization frame to the second device.
 8. A non-transitorycomputer-readable medium storing computer-executable instructions which,when executed by one or more processors result in performing operationscomprising: identifying a data path setup request frame received from afirst device, wherein the data path setup request frame comprises afirst device capability attribute corresponding to the first device thatincludes a channel switch time (CST) parameter; causing to send a datapath setup response frame, wherein the data path setup response framecomprises a second device capability attribute that includes the CSTparameter; identifying an availability window in the first capabilityattribute or the second capability attribute; establishing acommunication with the first device on a channel using the availabilitywindow; determining to wait at least for a duration specified by the CSTparameter; and causing to send data to the first device over the secondchannel, within the availability window, and after waiting at least forthe duration specified by the CST parameter.
 9. The non-transitorycomputer-readable medium of claim 8, wherein the CST parameter is amaximum CST.
 10. The non-transitory computer-readable medium of claim 8,wherein the CST parameter is expressed in units of microseconds.
 11. Thenon-transitory computer-readable medium of claim 8, wherein a size of afield indicating the CST parameter is 2 octets.
 12. The non-transitorycomputer-readable medium of claim 8, wherein data sent to the seconddevice over the second channel is a first data transmission that ispreceded by a random backoff time (RBT).
 13. The non-transitorycomputer-readable medium of claim 8, wherein the processing circuitry isfurther configured to cause to send a service discovery frame in adiscovery window.
 14. The non-transitory computer-readable medium ofclaim 8, wherein the processing circuitry is further configured to causeto send a synchronization frame to the second device.
 15. A methodcomprising: identifying a data path setup request frame received from afirst device, wherein the data path setup, request frame comprises afirst device capability attribute corresponding to the first device thatincludes a channel switch time (CST) parameter; causing to send a datapath setup response frame, wherein the data path setup response framecomprises a second device capability attribute that includes the CSTparameter; identifying an availability window in the first capabilityattribute or the second capability attribute; establishing acommunication with the first device on a channel using the availabilitywindow; determining to wait at least for a duration specified by the CSTparameter; and causing to send data to the first device over the secondchannel, within the availability window, and after waiting at least forthe duration specified by the CST parameter.
 16. The method of claim 15,wherein the CST parameter is a maximum CST.
 17. The method of claim 15,wherein the CST parameter is expressed in units of microseconds.
 18. Themethod of claim 15, wherein a size of a field indicating the CSTparameter is 2 octets.
 19. The method of claim 15, wherein data sent tothe second device over the second channel is a first data transmissionthat is preceded by a random backoff time (RBT).
 20. The method of claim15, wherein the processing circuitry is further configured to cause tosend a service discovery frame in a discovery window.